﻿=====================================================================
【タイトル】 Wikipedia 翻訳支援ツール
【ファイル】 wptscs132.msi, wptscs132.zip, wptscs132-src.zip
【作成月日】 2019/12/11
【制 作 者】 Honeplus
【動作環境】 Windows 10 での動作を確認。要.NET Framework 4.7.2
【配布形態】 修正BSDライセンス
【HomePage】 https://ja.osdn.net/projects/wptscs/
=====================================================================

・概要
Wikipediaでの言語間翻訳をサポートするためのツールです。
指定されたWikipediaの記事に存在する内部リンク先を確認し、その言語間リンクを取得します。
また、登録されていれば、見出しも変換します。

同じくMediaWikiを使用している Wiktionary, Wikivoyage においても使用可能です。



・インストール方法
インストーラ版の場合は画面の指示に従いインストールを進めてください。
zip版の場合は、適当なフォルダに展開してください。
展開して出てくる以下のファイルが、最低限必要なファイルです。他は消しても問題ありません。

wptscs.exe              : 実行ファイル
ja/wptscs.resources.dll : 日本語リソースdll
hmlib.dll               : 共通ライブラリdll
wptscs.exe.config       : デフォルト値やプログラム的な設定ファイル
Wikipedia.xml           : Wikipedia用の設定ファイル
Wikivoyage.xml          : Wikivoyage用の設定ファイル
Wiktionary.xml          : Wiktionary用の設定ファイル

アプリケーション上で設定した内容は、上記設定ファイルには反映されません。
ユーザーごとのフォルダに出力されます。
設定ファイルを直接修正、または削除して初期値に戻したい場合は、
下記のようなパスにあるファイルを更新してください（以下はWindows 10の例）。

C:\Users\[ユーザー名]\AppData\Roaming\Honememo\Wikipedia 翻訳支援ツール\[バージョン番号]\config.xml
C:\Users\[ユーザー名]\AppData\Local\Honememo\wptscs.exe_[～]\[バージョン番号]\user.config



・アンインストール方法
インストーラ版の場合はコントロールパネルからのアンインストールを、
zip版の場合は展開したファイルを削除してください。
また、必要なら上記設定ファイルも削除してください。



・使い方
翻訳元／先言語と、処理結果の出力先フォルダを指定してから、翻訳したい翻訳元記事名を入力して実行してください。

設定画面については、通常は触る必要はないです。
言語間リンクが貼られていない記事の対応パターン登録や、キャッシュの確認、
言語コードの登録や、見出しの変換パターンの設定ができます。
設定の内容などは、ツールチップと既存の値を見れば概要はつかめるのではないかと思います。

なお、このプログラムはあくまで「翻訳支援ツール」です。
出力された文章は、その後Wikipediaの編集画面やプレビューなりで本格的に修正されることを前提としています。
間違っても、そのままWikipediaに投稿するなどしないでください。
また、当プログラムではWikipediaへの書き込みは一切行いません。

※ 特にテンプレート等の複雑な書式の記事で使用した場合、一部が正常に処理されない可能性があります。
   これらの記事で使用する際は、処理結果に異常が無いか注意しながらご利用ください。



・処理結果の詳細
処理結果として、実行ログと記事テキストの内部リンク等を置き換えたものを出力します。

記事テキストの置き換えについては、下記のようなルールで実行しています。
（以下、英語版→日本語版で適当な記事を例に）

例）[[Japan]]

言語間リンクがある場合    →  [[日本|Japan]]
言語間リンクがない場合    →  [[:en:Japan|Japan]]
ない場合で仮リンクが有効  →  {{仮リンク|Japan|en|Japan|label=Japan}}
英語版も赤リンクの場合    →  [[Japan]]

例）[[Japan|Nihon]]

言語間リンクがある場合    →  [[日本|Nihon]]
言語間リンクがない場合    →  [[:en:Japan|Nihon]]
ない場合で仮リンクが有効  →  {{仮リンク|Japan|en|Japan|label=Nihon}}
英語版も赤リンクの場合    →  [[Japan|Nihon]]

例）[[Category:Japan|sortkey]]

言語間リンクがある場合    →  [[Category:日本|sortkey]]
言語間リンクがない場合    →  [[:en:Category:Japan]]<!-- [[Category:Japan|sortkey]] -->
英語版も赤リンクの場合    →  [[Category:Japan|sortkey]]

例）{{Citation needed|date=January 2012}}

言語間リンクがある場合    →  {{要出典|date=January 2012}}
言語間リンクがない場合    →  [[:en:Template:Citation needed]]<!-- {{Citation needed|date=January 2012}} -->
英語版も赤リンクの場合    →  {{Citation needed|date=January 2012}}

例）==History==

見出し変換表に登録あり    →  ==歴史==
見出し変換表に登録なし    →  ==History==



・ソースについて
wptscs132-src.zip としてソースファイル一式を配布しています。
開発環境はVisual Studio Community 2019です。
インストーラの作成にはWiXを使用しています。



・ライセンスについて
このプログラムは修正BSDライセンスに基づいたフリーソフトウェアで、無保証です。
このプログラムを利用して何らかの被害をこうむっても、作者は一切責任を負いません。
またサポートする保証もありません。
このプログラムの変更・再配布・流用はご自由にどうぞ。


また、ソース中にテストデータとしてWikipedia/Wiktionaryより取得したXMLを同梱しています。
これらファイル内の著作物の扱いについては、Wikipedia/Wiktionaryのライセンスに従ってください。



・更新履歴
Ver0.80  2010/09/18 開発環境／言語をVisual Studio 2005のC++/CLI→Visual C# 2010 Expressに移行。
                    ソースも全面的に見直し（ただし現在は古いコードが多々残った状態）。
                    設定画面を全体的に変更。記事の対応パターンを登録できるよう対応。
                    キャッシュ状況も見えるように変更。

Ver0.90  2010/09/27 Template:Documentationが使われているページに対応。
                    無駄に遅くなっていた処理を改善。その他細かい部分を改良／修正。

Ver1.00  2011/04/22 Wikipediaのバージョンアップごとに設定ファイルを直さなくて済むよう対処。
                    無駄に遅くなっていた処理を改善。
                    設定画面のツールチップや入力値チェックを整備。
                    [[ファイル:～]]→[[File:～]]も変換するよう対応。
                    [[Apollo&nbsp;17]]のように特殊文字が入っているリンクを処理できるよう修正。
                    HTMLタグの解析で正規表現の構文エラーになる可能性があったのを修正。
                    config.xmlの日英以外の言語の設定を精査・補填。

Ver1.01  2011/10/05 MediaWikiのバージョンアップに伴いAPIの仕様が変わったため対応。

Ver1.10  2012/01/30 ソースの全体的なリファクタリングを実施。
                    言語間リンクが無い記事の{{仮リンク}}への置き換えに対応。
                    {{Doc}}→{{Documentation}}のリダイレクトとインラインコンテンツに対応。
                    .net framework 4 フル版でなく Client Profile で動作するよう改善。
                    処理状況をステータスバーに表示するよう変更。
                    各種設定の文字列埋め込みを{0}から$1形式に変更。
                    [[File:～|]]のコメント部分を処理対象とするよう対応。
                    キャッシュ済みテンプレートの処理時に余分な通信をしていたのを修正。
                    [[Help:条件文]]の関数をテンプレートとして処理しようとしてしまっていたのを修正。
                    初期設定を若干追加。
                    配布元をSourceForge.JPに移転。
                    ※ 処理の見直しも行っているため、上記以外の細かい部分の動作にも変更が生じているはずです。
                    ※ 1.01とは設定ファイルの互換性がありません。

Ver1.11  2012/02/19 英語リソースの追加（ツールチップは除く）。
                    表示言語の切り替え機能を追加。
                    記事名にコロンを含むページが正しく処理できない問題を修正。
                    ..形式の相対リンクのサブページが処理できない問題を修正。
                    メイン画面の言語プルダウンに存在しないコードを手入力するとエラーになる問題を修正。
                    設定画面をキャンセルした際も言語タブの設定だけ更新されてしまっていたのを修正。
                    設定画面で言語を追加する際のインタフェースが分かりにくかったのを改善。
                    その他画面表示周りを中心に小不具合を修正。
                    変換後テキストの冒頭の元言語を{{Lang}}で囲むよう改善。
                    通信エラー時にリトライする仕組みを追加。
                    未解決の既知の不具合について、警告等を表示するよう暫定対応。
                    トランスレータ周りのソース中心にリファクタリングを実施。
                    ※ 1.10とは設定ファイルの互換性がありません。

Ver1.20  2012/03/10 Wiktionary/Wikitravelでの動作に対応。
                    設定の切り替え／追加機能を追加。
                    言語間リンク取得時に<includeonly>, <noinclude>, <onlyinclude>を考慮するよう修正。
                    見出しの置き換えに改行区切りで複数の語句を登録できるよう改良。
                    非常に複雑なテンプレートで極端に時間がかかっていたのを改善。
                    サーバーへのアクセス時に自動でRefererを設定するよう変更。
                    UserAgentを英語アプリ名にあわせたものに変更。
                    その他ソースの改善／小不具合を修正。
                    ※ 1.11とは設定ファイル名が変化しており、古い設定は自動で読み込まれません。
                    ※ Wikitravelは、サーバーにアクセスできる状態でもping失敗でエラーとなることがあります。
                       その場合、設定画面で「エラーを可能な限り無視して続行する」をチェックして再実行してください。
                    ※ 本バージョンから、インストーラ版での配布を開始しました。
                       また、ソースの配布も本体とは別に行うよう変更しています。

Ver1.21  2012/12/09 記事名が空の不正なテンプレート呼び出しで処理が落ちていたのを修正。
                    記事名の末尾がハテナマークの場合に警告を出すよう修正。
                    テンプレート名の後にコメント等が入っている場合にエラーになるのを修正。
                    ※ 本バージョンから、開発環境がVisual Studio 2010→2012へと変化しています。
                       特に影響は無いはずですが、何らかの問題が生じた場合はお知らせください。

Ver1.30  2013/03/10 言語間リンクの取得を自前の解析処理を使わずMediaWikiのAPIを使用して行うよう変更。
                    記事名がピリオドやハテナマークで終わるページも扱えるよう対応。
                    変数の処理でエラーになるパターンがあったのを修正。
                    MediaWiki APIが無効化されていたのでWikitravel対応を取り止め。
                    代わりにWikivoyageの対応を追加（ただしまだ日本語版は無し）。
                    その他設定ファイルを精査。
                    ※ 設定ファイルに互換性はありますが、一部設定項目の変更・追加・削除が発生しています。
                       独自の設定を追加している場合、変更が必要になる可能性があります。
Ver1.31  2014/04/04 記事名のエスケープを明示的に行うようにし、扱えない文字が残っていたのを修正。
Ver1.32  2019/12/11 TLS1.0/1.1のサポート終了でエラーとなる問題を修正。
                    ※ 本バージョンから、.NET Frameworkが4.0→4.7へと変わります。XPなど古いOSでは動作しません。


・仕様上の制限
キャッシュの一覧で一度に大量の項目を削除すると、フリーズしたかのように時間がかかります。
上記については、該当する処理に関連する部分に警告メッセージを表示しています。
